#include "N2Color.h"

const float N2ColorMinValue = 0.0;
const float N2ColorMaxValue = 1.0;

N2Color::N2Color(float red, float green, float blue) : r(red), g(green), b(blue)
{
}

N2Color::N2Color(COLORREF color) : r((float)GetRValue(color)/(float)255), 
                                   g((float)GetGValue(color)/(float)255), 
                                   b((float)GetBValue(color)/(float)255)
{
}

N2Color::operator COLORREF() const 
{
    return RGB(int(r*255),int(g*255),int(b*255));
}

N2Color N2Color::whiteColor()
{
    return N2Color(N2ColorMaxValue, N2ColorMaxValue, N2ColorMaxValue);
}

N2Color N2Color::blackColor()
{
    return N2Color(N2ColorMinValue, N2ColorMinValue, N2ColorMinValue);
}

N2Color N2Color::redColor()
{
    return N2Color(N2ColorMaxValue, N2ColorMinValue, N2ColorMinValue);
}

N2Color N2Color::greenColor()
{
    return N2Color(N2ColorMinValue, N2ColorMaxValue, N2ColorMinValue);
}

N2Color N2Color::blueColor()
{
    return N2Color(N2ColorMinValue, N2ColorMinValue, N2ColorMaxValue);
}
